package br.com.scpe.managedbean.negocio.perfil.alterar;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

import br.com.scpe.ejb.entity.Funcionario;
import br.com.scpe.ejb.entity.Perfil;
import br.com.scpe.ejb.sessionBean.FuncionarioSessionBean;
import br.com.scpe.managedbean.BaseManagedBean;
import br.com.scpe.util.SCHSconstantes;

@ViewScoped
@ManagedBean
public class AlterarPerfilManagedBean extends BaseManagedBean {

	public AlterarPerfilManagedBean(){
		super();
	}
	
	@PostConstruct
	public void init(){
		funcionario = (Funcionario) requestMap.get("funcionario");
		tipoFiltro = (Integer) requestMap.get("tipoFiltro");
	}
	
	@EJB
	private FuncionarioSessionBean funcionarioSessionBean;
	
	private Map<String, Object> requestMap = FacesContext.getCurrentInstance().getExternalContext().getRequestMap();
	
	private Funcionario funcionario;
	
	private int tipoFiltro;
	
	private List<Perfil> listaPerfil = new ArrayList<Perfil>();
	
	public void alterarPerfil(){
		funcionarioSessionBean.alterarFuncionario(funcionario);
		addMessageInfo("Perfil alterado com sucesso!");
	}

	public String voltarTelaListaFuncionarios(){
		requestMap.put("funcionario", funcionario);
		requestMap.put("tipoFiltro", tipoFiltro);
		
		return SCHSconstantes.PAGINA_LISTAR_ALTERAR_PERFIL;
	}
	
	public Funcionario getFuncionario() {
		return funcionario;
	}

	public void setFuncionario(Funcionario funcionario) {
		this.funcionario = funcionario;
	}

	public List<Perfil> getListaPerfil() {
		listaPerfil.clear();
		listaPerfil.add(Perfil.administrador);
		listaPerfil.add(Perfil.usuario);
		return listaPerfil;
	}

	public void setListaPerfil(List<Perfil> listaPerfil) {
		this.listaPerfil = listaPerfil;
	}
}